.calendar {
    width: 100%;
    margin: 15px 0;
    .top {
        text-align: center;
    }
    .cal-head {
        display: flex;
        padding: 10px 0;
        align-items: center;
        justify-content: center;
        flex-grow: row nowrap;
        border-top: 1px solid #219c25;
        background: #51bd55;
        span {
            display: block;
            text-align: center;
            flex: 1 0 auto;
            color: #fff;
        }
    }
    .cal-body {
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        li {
            width: calc(100% / 7);
            padding: 8px 0;
            list-style: none;
            text-align: center;
            flex: 0 0 auto;
            span {
                display: block;
                width: 30px;
                height: 30px;
                margin: 0 auto;
                line-height: 30px;
                border-radius: 50%;
                color: #6c6c6c;
                font-size: 14px;
                cursor: pointer;
            }
            span:hover {
                color: #fff;
                background: #8bc34a;
            }
            .is-today {
                color: #fff;
                background: #8bc34a;
            }
        }
    }
}